cgroup-v1: Correct privileges check in release_agent writes
authorMichal Koutný <mkoutny@suse.com>
Thu, 17 Feb 2022 16:11:28 +0000 (17:11 +0100)
committerSalvatore Bonaccorso <carnil@debian.org>
Fri, 25 Feb 2022 17:15:16 +0000 (17:15 +0000)
commit2093e9b534a31b04ddd501de8781146bd890ae69
treedf1b7048a2fbb0536190c2546a87d239bf92ca20
parent7287107cceb6b09eac7eb2c1dfbe6a2d56e1e344
cgroup-v1: Correct privileges check in release_agent writes

Origin: https://git.kernel.org/linus/467a726b754f474936980da793b4ff2ec3e382a7

The idea is to check: a) the owning user_ns of cgroup_ns, b)
capabilities in init_user_ns.

The commit 24f600856418 ("cgroup-v1: Require capabilities to set
release_agent") got this wrong in the write handler of release_agent
since it checked user_ns of the opener (may be different from the owning
user_ns of cgroup_ns).
Secondly, to avoid possibly confused deputy, the capability of the
opener must be checked.

Fixes: 24f600856418 ("cgroup-v1: Require capabilities to set release_agent")
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/stable/20220216121142.GB30035@blackbody.suse.cz/
Signed-off-by: Michal Koutný <mkoutny@suse.com>
Reviewed-by: Masami Ichikawa(CIP) <masami.ichikawa@cybertrust.co.jp>
Signed-off-by: Tejun Heo <tj@kernel.org>
Gbp-Pq: Topic bugfix/all
Gbp-Pq: Name cgroup-v1-Correct-privileges-check-in-release_agent-.patch
kernel/cgroup/cgroup-v1.c